package com.longway.core.toolbox.wdp.msg;

import com.longway.core.toolbox.wdp.msg.bean.WdpImageMsg;
import com.longway.core.toolbox.wdp.msg.bean.WdpMsg;
import com.longway.core.toolbox.wdp.msg.bean.WdpTextMsg;
import com.longway.core.toolbox.wdp.msg.bean.WdpUserEnterSessionMsg;

/**
 * 用户model转为msg对象
 *
 */
class MsgModelParser {

	private static enum MsgType {
		text, image, event
	}
	
	protected WdpMsg parserMsg(MsgModel msgModel) {
		String msgTypeStr = msgModel.getMsgType().toLowerCase();
		MsgType msgType = MsgType.valueOf(msgTypeStr);
		if (MsgType.text == msgType) {
			return new WdpTextMsg(msgModel);
		}
		if (MsgType.image == msgType) {
			return new WdpImageMsg(msgModel);
		}
		if (MsgType.event == msgType) {
			if ("user_enter_tempsession".equalsIgnoreCase(msgModel.getEvent())) {
				return new WdpUserEnterSessionMsg(msgModel);
			}
		}
		throw new RuntimeException("暂不支持该类型的小程序消息！");
	}


}
